home *** CD-ROM | disk | FTP | other *** search
- /*
- * SetGlobal -- XFCN to set a HyperCard interface global to a ProIcon string
- */
-
- #include "IconXCmd.h"
- #define NULL 0L
-
- pascal void main(paramPtr)
- XCmdBlockPtr paramPtr;
- {
- Handle h;
-
- /* check parameters */
-
- if (paramPtr->paramCount != 2) {
- paramPtr->returnValue = (Handle)NewString("\pNeed two parameters in SetGlobal XFCN");
- PtoCstr(*(paramPtr->returnValue));
- return;
- }
-
- /* Lock global name, convert to a Pascal string */
- h = paramPtr->params[0];
- HLock(h);
- CtoPstr(*h);
-
- /* Do SetGlobal operation */
- paramPtr->inArgs[0] = (long)*h;
- paramPtr->inArgs[1] = (long)paramPtr->params[1];
- paramPtr->request = xreqSetGlobal;
- ((procPtr)(paramPtr->entryPoint))();
-
- /* Unlock global name */
- HUnlock(h);
-
- /* Return result. Check for error. */
- if (paramPtr->result != xresSucc) {
- paramPtr->returnValue = (Handle)NewString("\pUnsufficient memory in SetGlobal XFCN");
- PtoCstr(*(paramPtr->returnValue));
- }
- else
- paramPtr->returnValue = NULL; /* All OK, return empty string */
- }
-
-
-